# sqlite3(1) completion                                    -*- shell-script -*-

_sqlite3()
{
    local cur prev words cword
    _init_completion || return

    local dbexts='@(sqlite?(3)|?(s?(3))db)'

    case $prev in
        -help | -version | -lookaside | -maxsize | -mmap | -newline | \
            -nullvalue | -pagecache | -scratch | -separator | -vfs | *.$dbexts)
            return
            ;;
        -init)
            _filedir
            return
            ;;
        -cmd)
            compopt -o filenames
            COMPREPLY=($(compgen -c -- "$cur"))
            return
            ;;
    esac

    [[ $cword -gt 2 && ${words[cword - 2]} == -@(lookaside|pagecache|scratch) ]] &&
        return

    if [[ $cur == -* ]]; then
        COMPREPLY=($(compgen -W '$(_parse_help "$1" -help)' -- "$cur"))
        return
    fi

    _filedir "$dbexts"
} &&
    complete -F _sqlite3 sqlite3

# ex: filetype=sh
